home *** CD-ROM | disk | FTP | other *** search
/ Total Network Tools 2002 / NextStepPublishing-TotalNetworkTools2002-Win95.iso / Archive / FTP Server / WFTPD Pro.exe / WHATSNEW.TXT < prev   
Encoding:
Text File  |  2000-09-19  |  17.5 KB  |  303 lines

  1. Changes logged from version 2.40 to 2.41 RC14:
  2.  
  3. Key: N - New feature; I - Interface enhancement; B - Bug fixed; S - Security
  4. improvement; D - Design fixed
  5.  
  6. Registry entries added:
  7. "<server>\Fatal Error"
  8. "<server>\FileBufferSize"
  9. "<server>\WindowSize"
  10. "<server>\ExternalDLL"
  11. "<server>\Hosts\WaitForName"
  12.  
  13. WFTPD Pro Control Panel:
  14. =======================
  15. N  Added ability to connect to, and configure, a remote WFTPD Pro
  16.    installation.  Note, however, that you cannot currently view the remote
  17.    site's list of connected users.
  18. N  In an effort to provide some level of support for Windows 95/98, we allow
  19.    the Control Panel to configure a WFTPD Pro system running as a regular
  20.    app, rather than as an NT service: currently missing, however, is the
  21.    ability to start and stop the service from this control panel.  To
  22.    request that WFTPD Pro running as a Window should refresh itself from the
  23.    registry, find the window "WFTPD Service Control", and send it the
  24.    registered Window message "WFTPD Service Refresh".
  25. I  Accelerators added for more dialog buttons; some conflicting accelerators
  26.    have been disambiguated.
  27. N  When a server fails to start, we list it as 'dead', and when you select
  28.    that server, the title of the User Frame displays the reason for the
  29.    inability to start.  [Stored in registry value: "<server>\Fatal Error"]
  30. I  The control panel window can no longer be shrunk so small that buttons
  31.    overlap or disappear.
  32. D  Read-only sound files can be used for login/logout notice.
  33. S  To allow validation of connecting hosts by name as well as IP address, we
  34.    now offer the option to carry out a reverse DNS lookup.  Since this
  35.    lookup takes significant time on some systems, this is not enabled by
  36.    default.  [Registry value: "<server>\Hosts\WaitForName"]
  37. S  We no longer validate IP addresses used for filtering in the "Network"
  38.    page of configuring a server; we can now filter on names as well, so
  39.    pretty much anything you enter is likely to be a valid filter.  Any
  40.    non-numeric filter will be ignored if you have not enabled reverse DNS
  41.    lookups.
  42. B  Correct support (including 3-D buttons) for Windows NT 3.51 is given,
  43.    along with context-sensitive help.  (Previous versions might crash in
  44.    NT 3.51 with context-sensitive help)  Context-sensitive help on the
  45.    main dialog box means we must remove the minimise box.
  46. S  If the user's home directory is on a case-sensitive file system (as
  47.    reported by Windows NT to us), we do not force it into upper case.  We
  48.    recommend, however, that file systems exported for an NT system to
  49.    connect to should use a case-preserving, but not case-sensitive, file
  50.    system.  There are many other applications that you will want to access
  51.    that file system, and we cannot even remotely hope that all of them are
  52.    capable of dealing with the difference between "readme" and "README" -
  53.    many of your users, and their client FTP software, might have trouble
  54.    making the same distinction.
  55. S  We now ensure that long path names are used to store, and reference, all
  56.    rights entries.  If you have short pathnames in your rights database,
  57.    they will be ignored when checking for rights.
  58. N  Y2K code review carried out.
  59. B  Conversions page should now correctly add new conversion names, rather
  60.    than complaining that they've already been entered. 
  61. D  Browsing for the log file now displays "Save" instead of "Open". 
  62. D  Selecting servers with fatal errors now gives you the option to "Go"
  63.    instead of having to "Stop" then "Go" - the server is, of course, already
  64.    stopped.
  65. I* The main dialog now contains the version number - note that this is the
  66.    version number of the Control Panel applet, not that of the underlying
  67.    FTP engine.
  68.  
  69.  
  70. WFTPD Pro Setup Program
  71. =======================
  72. N  Copyright extended to 1999.
  73. I  If the user requests to cancel the installation, we ask them if they are
  74.    truly sure of this.
  75. N  Files are now installed to the short-pathname of any directory entered -
  76.    this allows the automated uninstall to work easily.
  77. I  Dialogs are expanded to accomodate systems with peculiar font sizes.
  78.  
  79. WFTPD / WFTPD Pro
  80. =================
  81. D  Files and disks of over 2GB in size are now supported in WFTPD (32-bit
  82.    only) and WFTPD Pro.
  83. N  New commands:
  84.     FEAT - report on the post-RFC 959 features supported.
  85.     MLST - new machine-readable listing format
  86.     MLSD - similar to MLST
  87.     OPTS - for setting feature options (currently only MLST)
  88. N  New HOST command is recognised, but unimplemented as yet.
  89. S  Dynamically sized command buffer, to accept even the most outrageous of
  90.    FTP denial-of-service attempts without hiccuping.
  91. N  Y2K code review carried out.
  92. D  Cookies and responses that used angle brackets ("<>") now use curly
  93.    braces ("{}") instead - Netscape threw up some interesting text when
  94.    given an undefined 'HTML' value.
  95. D  Better interaction with Nagle/Delayed Ack algorithms to improve command
  96.    response time to well-behaved FTP clients.
  97. S  Configurable whether to wait for a reverse DNS lookup or not.  [Registry
  98.    value: "<server>\Hosts\WaitForName"]  WFTPD: on menu item
  99.    "Security|Host/Net".
  100. S  The PORT command can no longer be used to subvert restrictions to ports
  101.    <1K.
  102. N  Preparation for version 3.0 - we now impersonate NT users and revert back
  103.    to our selves when appropriate.  Currently, you can take advantage of
  104.    this with the new external authenticate DLL function.
  105. ** Note to IE users - WFTPD and WFTPD Pro will log an unsuccessful
  106.    transfer even when IE receives the file correctly, since IE appears to
  107.    have been written by people who wouldn't recognise FTP if they had the
  108.    initials branded on their retinas.
  109. D  We now fully support even brain-dead FTP clients that send the transfer
  110.    command _before_ completing the PASV connection to transfer the data on.
  111.    Note - this is a hideously bad piece of security flaw [in the client],
  112.    since it means that a hacker could hijack any incoming or outgoing data
  113.    transfer if he knew something about the system.  Workaround: require all
  114.    data transfers to be reflexive, and beat the relevant FTP client authors
  115.    over the head.
  116. B  When a STOR fails, we log it as a Put, rather than a Get.
  117. D  In case of a file error, we now log what the error code is.
  118. S  Avoid potential denial-of-service attack caused by sending an option
  119.    string to a LIST or NLST command longer than 30 characters.
  120.    "dir -1234567890123456789012345678901234567890" for instance would cause
  121.    a crash.
  122. S  Any given short path names are always converted to long path names, to
  123.    avoid somebody using short path names to evade the rights restrictions.
  124. N  MLST and MLSD commands added in preparation for the release of the
  125.    MLST/MLSD Internet-draft as an RFC.  This is a big one, since it solves
  126.    a major headache for FTP client and server authors, in that it provides
  127.    a reliable machine-readable format for file listings.
  128. N  Double-buffering for the transferred file is slightly altered, to allow
  129.    the user to specify (in the registry or INI file) how much data to read
  130.    from, or write to, the disk in each go. [Registry entry
  131.    "<server>\FileBufferSize"]
  132. I  When file transfer status is reported, we now correctly use a big 'B' to
  133.    indicate 'bytes' - a little 'b' should mean 'bits'.
  134. I  If the message.ftp file ends in a carriage return, we no longer take that
  135.    as reason to send a blank line.
  136. B  Removed a potential race condition and GPF in the multi-threaded listings.
  137. N  New capability to set the TCP/IP buffer/window size, to allow for data 
  138.    transfer over a link where latency or bandwidth are large; on Windows 98 
  139.    and 2000, this will set the large window scale option in connection 
  140.    negotiation.  This may help those of you transferring files to and from 
  141.    orbiting space craft.  Seriously.  [Registry entry: 
  142.    "<server>\WindowSize"]
  143. D  New ADMN RESU (resume) command to resume after ADMN STOP has been sent.
  144. D  ADMN ADDU now checks to see if the user has rights before denying a new 
  145.    user creation; you shouldn't be trying to create the default or anonymous 
  146.    users.
  147. D  ADMN MESS MCWD is now only accepted with a further argument (Y or N).
  148. D  ADMN CHPW now checks to see if the user has a password (i.e. is not 
  149.    'default' or 'anonymous') before changing passwords.
  150. N  On Win32, we try to create temporary files (for listings) in memory, and 
  151.    only write them to disk when memory is exhausted.
  152. S  We no longer validate IP address filters (e.g. 'allow/deny this host') to 
  153.    contain only numeric values, since we can now filter on names as well, if 
  154.    we are allowed to perform a reverse DNS lookup.
  155. N  When a WFTPD Pro server fails to start, it will note its reason in the 
  156.    "Fatal Error" registry key.
  157. D  If a data transfer times out, we don't automatically disconnect the 
  158.    control connection until it, too, times out.
  159. D  Corrected error response number for "command recognised but not 
  160.    implemented" to 502.
  161. N  Log format is changed on Win32 platforms, to use the local short date 
  162.    format - this avoids some user's Y2K gripes, since you can now specify 
  163.    that this should not use two digit dates.
  164. B  Owner Email Address is now saved and read correctly in WFTPD, for the %E 
  165.    cookie.
  166. B  When deleting a user from the registry, it should now delete all of that 
  167.    user's settings; same for deleting a server.
  168. N  New external DLL functionality added; currently, the only supported 
  169.    external function is to authenticate a user, given his name and password; 
  170.    the DLL's function must then return his home directory, and may return an 
  171.    NT user handle for impersonation purposes.  [Registry entry: 
  172.    "<server>\ExternalDLL" contains full path to DLL to be called.]
  173.    See extrnls.h for the function prototype.
  174. B  WFTPD Pro stops more cleanly as a service now.
  175. N  On NT 3.51 and 4.0, we take NTFS rights into consideration as well as 
  176.    those defined in WFTPD/WFTPD Pro.
  177. N  Unregistered version now displays a dialog when it starts to note that 
  178.    it is the unregistered version, and giving instructions on how to 
  179.    register; this dialog can be permanently dismissed by clicking on a 
  180.    check-box, so it's not a "Nag Screen" - it's an attempt to reduce the 
  181.    number of people who email me saying "How do I register this program?".
  182. N  Copyright stretched to 1999; version number bumped up to 2,41,0,3
  183. B  When editing the user name using the arrow keys in WFTPD, the rest of the 
  184.    User Security dialog will update correctly.
  185. N  WFTPD Pro, when run on a non-NT system, or run on NT with the '-s' flag, 
  186.    will now load as a [hidden] Window-based app, rather than a service. 
  187.    Support for this mode will be expanded in future, until we have what is 
  188.    essentially a Windows 9x version of WFTPD Pro.
  189. I  A new, default, menu option is added to the WFTPD popup menu that is 
  190.    available when WFTPD is minimised to the system tray.  This is the 
  191.    "Restore" command, so that a double-click will restore the program.
  192. D  Browsing for the log file now displays "Save" instead of "Open". 
  193. I  Upper limit checked on the size of the disk read/write buffer. 
  194. B  Timeout on the data connection no longer causes timeout on the control
  195.    connection. 
  196. B  Timeout on the control connection no longer causes GPF. 
  197. I  All paths displayed to the user should now be the _long_ form. 
  198. B  MLSD returns an error when used on a non-directory, or non-existent
  199.    path. 
  200. B  Directory listings of volumes - i.e. root directories on local drives -
  201.    should now come up properly, except for the modification time, which
  202.    Win32 gives as 19800101. 
  203. B  Fixed an error in reporting large size files/disk space, whereby a high
  204.    bit in the low order double word would cause erroneous calculation.
  205. B  The group did not display in file listings if another owner in the
  206.    list was longer than the current one.
  207. I  Changed "{unknown}" into "noone", to allow for listing routines that
  208.    expect alphanumeric owner/group identifiers.
  209. S  If we are getting file access rights, and the OS won't allow us to list
  210.    those rights, then we are not going to allow access to the file.
  211. B  Early freeing of the pointer to a SID meant that owners and groups were
  212.    not being listed.
  213. B  Moved a function call to the top of the destructor, where the data
  214.    contents will still be valid, thereby avoiding a GPF on logout or
  215.    termination.
  216. B  Fixed new MLSD / MLST functionality.
  217. S  Removed code that listed the true (NTFS) owner and group of a file.
  218. B  Fixed a buffer overflow bug reported by the bugtraq mailing list.
  219. B  Fixed a potential (though unlikely) buffer overwrite found through code
  220.    review.
  221. B  A couple of GPFs fixed.
  222. N  MLST / MLSD disabled unless a registry entry is set - see the help file
  223.    for details.
  224. B  Deny/Allow now works properly.
  225. B  16-bit WFTPD change directory bug fixed.
  226. D  SIZE command now works with either List _or_ Read rights to the file.
  227. D  File listing now lists to 8-column stops, much like BSD 'ls'.  [Useful
  228.    for clients such as machine tools that expect the listing is a fixed
  229.    format.]
  230. B  Fixed a bug in restricted-user file and wildcard listing.
  231. B  Listings sometimes leaked memory - this is now fixed.
  232. B  The elusive "last-known GPF" is fixed - if a client connects from a
  233.    site that has no IP to name mapping, and the client disconnects before
  234.    the DNS request completes, the server would GPF.  This is now fixed.
  235. B  Fixed a potential (though unlikely, and so far unreported) problem
  236.    with socket handle values > 64k.
  237. B  Fixed STOU, which was storing its files in the same directory as the
  238.    executable is installed into - it now stores files into the correct
  239.    directory.
  240. B  Fixed unsightly GPF on stopping WFTPD Pro - was not damaging to data,
  241.    but looks clumsy.
  242. B  Fixed a GPF caused when security is disabled.
  243. B  Fixed a GPF that could occur when a client connects and then disconnects
  244.    before its name has been resolved through DNS.
  245. S  'Salt' characters in the password hash function are now restricted to
  246.    only those that are allowed in Unix (where the hash function originated)
  247. S  Altered disconnect functionality so that a user can be disconnected in
  248.    the middle of a data transfer without waiting for the transfer to
  249.    complete.
  250. D  Don't respond with "MLST" to "FEAT" command unless MLST features have
  251.    been enabled.
  252. S  Zero out memory that holds the password entered by the user, just in
  253.    case someone feels like examining core dumps.
  254. S  If a password longer than eight characters fails, we retry with just
  255.    the first eight characters, since the password algorithm was changed a
  256.    couple of years ago to add handling for longer than eight characters
  257.    of password.
  258. N  Changed the method of creating uploaded files to try and get around a
  259.    reported sharing problem with IIS (which maintains locks to files long
  260.    after it's finished reading them).
  261. D  Slight speed improvement on comparison of rights when listing files.
  262. B  Fixed a minor bug in logging in when home directories end in a back-
  263.    slash.
  264. B  Prevent user from logging in if they have no rights to their home directory.
  265. B  Fixed a bug where confusion could occur if the user's home directory
  266.    ends in a slash or backslash.
  267. D  Log the reason _why_ a user's home directory is not accessible to them.
  268. B  Fixed an apparent hang at the end of directory listings.
  269. D  Fixed an incompatibility with certain Unix FTP clients that expect the 226
  270.    response to come before they will acknowledge the FIN.  This led to some FTP
  271.    clients appearing to hang at the end of data transfers and/or file listings.
  272. B  Due to poor behavior on the part of the GetFileSecurity call, we had been
  273.    marking files and directories as inaccessible, when the truth was merely
  274.    that the OS couldn't (or wouldn't) tell us what rights we had.  This usually
  275.    shows up when trying to access remote shares on non-NT systems through UNCs
  276. B  "Blue Panda" reported a GPF caused when issuing the RNTO command with no
  277.    previous RNFR command - this has been fixed.
  278. B  Blue Panda has been busy again.  GPFs on issuing a STOR, APPE or STOU after
  279.    a REST marker is set past the end of the file, or when the file does not
  280.    exist; and on entering the MLST / MLSD commands prior to logging in.  Also,
  281.    when we try to prevent people writing to / reading from device names such
  282.    as LPT1, CON, etc, we missed a few device names - partly because they aren't
  283.    documented anywhere.  Since there is no programmatic way (that we know of)
  284.    to get a listing of devices, we've allowed users to define their own device
  285.    names in a new INI file entry / registry setting "General\DeviceNames"
  286. S  Another Panda-ism or two - .LNK files could be downloaded, possibly
  287.    revealing local directory structures - now .LNK files can neither be
  288.    uploaded, nor downloaded (nor renamed, except to other link files).  The
  289.    "%C" cookie (current directory) also exposes local directory structure -
  290.    this has now been corrected to respond with the same information as
  291.    PWD gives.
  292. B  Also from Blue Panda - a long command string consisting of characters in the
  293.    range 128-255 may cause a GPF.
  294. B  Corrected some instances where a closed socket was not decrementing the
  295.    socket count.
  296. D* Increased length of usernames to 50 characters
  297. B* Fixed a problem where default rights were not appearing correctly in the
  298.    interface for some users in WFTPD.
  299. B* Fixed a timeout problem, wherein users were quickly disconnected for the
  300.    first few minutes after a system is booted.
  301. B* Fixed a problem that prevented the anonymous user from logging in.
  302. B* Fixed a GPF bug that occurs when disconnecting a timed-out user.
  303.